Build the Linux client
The Looking Glass Client is currently distributed as source code. Building it is a normal part of installation, not an optional developer step. These instructions require basic familiarity with a Linux shell.
Downloading
Visit the Looking Glass Download Page, and download the stable version (Recommended). You can also download a bleeding-edge version, or the latest RC version during a Release Candidate cycle.
Developers can clone the source code repo with git.
git clone --recursive https://github.com/gnif/LookingGlass.git
Warning
Please only clone from Git if you’re a developer, and know what you’re doing. Looking Glass requires git submodules that must be setup and updated when building. Source code downloads from the website come bundled with the necessary submodules.
Note
The current client, IDD and OBS plugin must come from the same Looking Glass release. Bleeding-edge builds must be paired with their matching bleeding-edge components. Legacy Host users must instead use the complete matching B7 stack described in Legacy Host Application.
Client Application
Installing build dependencies
These required libraries and tools should be installed first.
Note
The below list of dependencies is for Debian. A community maintained list of dependencies for other distributions for the current stable version of Looking Glass is maintained on the wiki at: https://looking-glass.io/wiki/Installation_on_other_distributions
Required dependencies
cmakebinutilsgcc,g++|clanglibegl-devlibgl-devlibgles-devlibfontconfig-devlibgmp-devlibspice-protocol-devlibxkbcommon-devmakenettle-devpkg-config
May be disabled
These dependencies are required by default, but may be omitted if their feature is disabled when running cmake.
Disable with
cmake -DENABLE_BACKTRACE=no ..libdw-devlibunwind-dev
Disable with
cmake -DENABLE_X11=no ..libx11-devlibxfixes-devlibxi-devlibxinerama-devlibxss-devlibxcursor-devlibxpresent-devlibxrandr-dev
Disable with
cmake -DENABLE_WAYLAND=no ..libwayland-binlibwayland-dev
Disable all audio support with
cmake -DENABLE_AUDIO=no ..libpipewire-0.3-devlibpulse-devlibsamplerate0-devlibusbredirparser-dev
Disable with
cmake -DENABLE_PIPEWIRE=no ..libpipewire-0.3-dev
Disable with
cmake -DENABLE_PULSEAUDIO=no ..libpulse-dev
Disable USB audio with
cmake -DENABLE_USB_AUDIO=no ..libusbredirparser-devversion 0.7.1 or newer
libsamplerate0-dev is required whenever audio support remains enabled.
Recommended
fonts-dejavu-core(This is the default UI font, but a random font will be chosen if not available).
Fetching with APT
You can fetch these dependencies with the following command:
Warning
The command below builds both PipeWire and PulseAudio playback backends. Omit one development package only when also disabling its backend in CMake. Microphone recording requires PipeWire; the current PulseAudio backend is playback-only.
apt-get install binutils cmake make fonts-dejavu-core libdw-dev \
libfontconfig-dev libgmp-dev libunwind-dev gcc g++ pkg-config \
libegl-dev libgl-dev libgles-dev libspice-protocol-dev nettle-dev \
libx11-dev libxcursor-dev libxfixes-dev libxi-dev libxinerama-dev \
libxpresent-dev libxrandr-dev libxss-dev libxkbcommon-dev \
libwayland-bin libwayland-dev \
libpipewire-0.3-dev libpulse-dev libsamplerate0-dev \
libusbredirparser-dev
You may omit some dependencies if you disable the feature which requires them when running cmake. (See May be disabled)
Building
If you’ve downloaded the source code as a zip file, simply unzip and cd
into the new directory. If you’ve cloned the repo with git, then cd
into the LookingGlass directory.
mkdir client/build
cd client/build
cmake ../
make
This will build the looking-glass-client binary, which is used to display
frames from the guest. It also produces looking-glass-client.debug. Keep
this file with the matching binary to obtain source locations in crash stack
traces. The install target places it in the standard bin/.debug location
automatically.
You can then continue installing Looking Glass, or run it directly from the build directory:
./looking-glass-client
See also
Note
For users running GNOME on Wayland, you may want to enable libdecor when
building.
cmake -DENABLE_LIBDECOR=ON ../
For details, see the FAQ.
Note
The most common compile error is related to backtrace support. Try disabling this when building:
cmake -DENABLE_BACKTRACE=0 ../
If you disable this and need support for a crash, use gdb to obtain a
backtrace manually.